package com.snow.dayou.config;

import org.springframework.context.annotation.Configuration;

@Configuration
public class MyBatisPlusConfiguration {
    /**
     * 乐观锁插件
     * 乐观锁实现方式：
     * <p>取出记录时，获取当前version
     * 更新时，带上这个version
     * 执行更新时， set version = newVersion where version = oldVersion
     * 如果version不对，就更新失败</p>
     * <p>
     *     注解实体字段 @Version 必须要!
     * </p>
     * @return
     */
//    @Bean
//    public OptimisticLockerInterceptor optimisticLockerInterceptor() {
//        return new OptimisticLockerInterceptor();
//    }

    /**
     * 逻辑删除
     *
     * @return
     */
    /*@Bean
    public ISqlInjector sqlInjector() {
        return new AbstractSqlInjector() {
            @Override
            public List<AbstractMethod> getMethodList(Class<?> mapperClass) {
                List<AbstractMethod> methodList = super.getMethodList();
                methodList.add(new LogicDeleteByIdWithFill());
                return methodList;
            }
        };
    }*/

    /**
     * 分页插件
     */
//    @Bean
//    public PaginationInterceptor paginationInterceptor() {
//        return new PaginationInterceptor();
//    }

}
